home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / util / ArrayHelp.class (.txt) next >
Encoding:
Java Class File  |  2000-06-30  |  2.4 KB  |  125 lines

  1. package com.extensibility.util;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Vector;
  5.  
  6. public class ArrayHelp {
  7.    private static final int QSORT_THRESHHOLD = 8;
  8.  
  9.    public static Vector enumToVector(Enumeration var0) {
  10.       Vector var1 = new Vector();
  11.       enumToVector(var1, var0);
  12.       return var1;
  13.    }
  14.  
  15.    public static void enumToVector(Vector var0, Enumeration var1) {
  16.       if (var1 != null) {
  17.          while(var1.hasMoreElements()) {
  18.             var0.addElement(var1.nextElement());
  19.          }
  20.       }
  21.  
  22.    }
  23.  
  24.    public static Object[] enumToArray(Enumeration var0) {
  25.       Vector var1 = enumToVector(var0);
  26.       int var2 = var1.size();
  27.       Object[] var3 = new Object[var1.size()];
  28.  
  29.       for(int var4 = 0; var4 < var2; ++var4) {
  30.          var3[var4] = var1.elementAt(var4);
  31.       }
  32.  
  33.       return var3;
  34.    }
  35.  
  36.    public static void appendVector(Vector var0, Vector var1) {
  37.       enumToVector(var0, var1.elements());
  38.    }
  39.  
  40.    public static void addArrayToVector(Vector var0, Object[] var1) {
  41.       int var2 = var1.length;
  42.  
  43.       for(int var3 = 0; var3 < var2; ++var3) {
  44.          var0.addElement(var1[var3]);
  45.       }
  46.  
  47.    }
  48.  
  49.    public static void swapElements(Vector var0, int var1, int var2) {
  50.       Object var3 = var0.elementAt(var1);
  51.       var0.setElementAt(var0.elementAt(var2), var1);
  52.       var0.setElementAt(var3, var2);
  53.    }
  54.  
  55.    public static void sortStrings(Vector var0) {
  56.       sort(0, var0.size(), new VectorSort(var0));
  57.    }
  58.  
  59.    public static void sortStrings(Vector var0, int var1, int var2) {
  60.       sort(var1, var2, new VectorSort(var0));
  61.    }
  62.  
  63.    public static void sort(int var0, int var1, DataAccess var2) {
  64.       int var3 = var1 - var0;
  65.       if (var3 < 8) {
  66.          shortsort(var0, var1, var2);
  67.       } else {
  68.          int var4 = var0 + var3 / 2;
  69.          var2.swapValues(var0, var4);
  70.          int var5 = var0;
  71.          int var6 = var1;
  72.  
  73.          while(true) {
  74.             ++var5;
  75.             if (var5 >= var1 || !var2.isLess(var5, var0)) {
  76.                do {
  77.                   --var6;
  78.                } while(var6 > var0 && var2.isLess(var0, var6));
  79.  
  80.                if (var6 < var5) {
  81.                   var2.swapValues(var0, var6);
  82.                   if (var6 - var0 >= var1 - var5) {
  83.                      if (var5 + 1 < var1) {
  84.                         sort(var5, var1, var2);
  85.                      }
  86.  
  87.                      if (var0 + 1 < var6) {
  88.                         sort(var0, var6, var2);
  89.                      }
  90.                   } else {
  91.                      if (var0 + 1 < var6) {
  92.                         sort(var0, var6, var2);
  93.                      }
  94.  
  95.                      if (var5 + 1 < var1) {
  96.                         sort(var5, var1, var2);
  97.                      }
  98.                   }
  99.                   break;
  100.                }
  101.  
  102.                var2.swapValues(var5, var6);
  103.             }
  104.          }
  105.       }
  106.  
  107.    }
  108.  
  109.    private static void shortsort(int var0, int var1, DataAccess var2) {
  110.       while(var1 > var0 + 1) {
  111.          int var3 = var0;
  112.  
  113.          for(int var4 = var0 + 1; var4 < var1; ++var4) {
  114.             if (var2.isLess(var3, var4)) {
  115.                var3 = var4;
  116.             }
  117.          }
  118.  
  119.          --var1;
  120.          var2.swapValues(var3, var1);
  121.       }
  122.  
  123.    }
  124. }
  125.